package com.hxkj.dao;

import com.hxkj.domain.po.*;
import com.platform.common.domain.annotation.EnableDataSource;

import java.util.List;
import java.util.Map;

/**
* 数据操作接口
*
* @author: chenwei
* @version: 1.0
* @datetime: 2018-06-05 19:32:55
*
*/
public interface ManuscriptDao {

    /**
    *
    * 根据主键查询Manuscript对象
    *
    * @param manuscriptId
    * @return Manuscript对象
    */
    @EnableDataSource("slave")
    Manuscript get(Long manuscriptId);

    /**
    *
    * 根据查询条件查询符合条件的Manuscript对象
    *
    * @param manuscript
    * @return 符合条件的Manuscript对象List
    */
    @EnableDataSource("slave")
    List<Manuscript> get(Manuscript manuscript);

    /**
    *
    * 根据主键删除Manuscript对象
    *
    * @param manuscriptId
    * @return 影响条件数
    */
    int delete(Long manuscriptId);

    /**
    *
    * 根据条件删除符合条件的Manuscript对象
    *
    * @param manuscript
    * @return 影响条件数
    */
    int delete(Manuscript manuscript);

    /**
    *
    * 插入Manuscript对象
    *
    * @param manuscript
    * @return 影响条件数
    */
    int save(Manuscript manuscript);

    /**
    *
    * 更新Manuscript对象
    *
    * @param manuscript
    * @return 影响条件数
    */
    int update(Manuscript manuscript);

    /**
     * 获取最大的序列号
     * @param
     * @return
     * @throws Exception
     */
    Integer getMaxSeqNum()throws Exception;

    /**
     *
     * 根据条件 查询Manuscript对象
     *
     * @param manuscript
     * @return Manuscript对象
     */
    @EnableDataSource("slave")
    Manuscript getManuscript(Manuscript manuscript);


    /**
     *
     * 根据站点、状态、文章id查询出生成的文件
     *
     * @param manuscript
     * @return Manuscript对象
     */
    @EnableDataSource("slave")
    List<Manuscript> getManuscriptList(Manuscript manuscript);


    @EnableDataSource("slave")
    List<Article> getPreCreateArticle(Map<String, Object> map);

    @EnableDataSource("slave")
    List<Channel> getPreCreateChannel(Map<String, Object> map);

    @EnableDataSource("slave")
    List<Column> getPreCreateColumn(Map<String, Object> map);

    @EnableDataSource("slave")
    SiteUniversal getSiteUniversal(Long siteId);
}
